package enumeration;

import java.util.ArrayList;
import java.util.List;

public enum GeneroEnum implements EnumPersistente<String> {

	MASCULINO("M", "Masculino"), FEMININO("F", "Feminino");

	private String ordinal;
	private String descricao;

	private GeneroEnum(final String ordinal, final String descricao) {
		this.ordinal = ordinal;
		this.descricao = descricao;
	}

	public String getDescricao() {
		return this.descricao;
	}

	@Override
	public String toString() {
		return getDescricao();
	}

	/**
	 * Retorna uma lista de todos os tipos pessoas
	 * 
	 * @return
	 */
	public static List<GeneroEnum> getTipoPessoaList() {
		List<GeneroEnum> listaTipos = new ArrayList<GeneroEnum>();
		for (GeneroEnum tipo : values()) {
			listaTipos.add(tipo);
		}
		return listaTipos;
	}

	public static GeneroEnum getTipoTipoPessoa(GeneroEnum tipo) {
		for (GeneroEnum tipoPessoa : values()) {
			if (tipoPessoa.equals(tipo)) {
				return tipoPessoa;
			}
		}
		return null;
	}

	public String getOrdinal() {
		return ordinal;
	}

	@Override
	public String getCodigo() {
		return getOrdinal();
	}
}